#ifndef ENVIRONMENTDIALOG_H
#define ENVIRONMENTDIALOG_H

#include <QColor>
#include <QButtonGroup>
#include <QErrorMessage>

#include "environment.h"
#include "ui_environmentdialog.h"

namespace PBVP {
class EnvironmentDialog : public QDialog
{
    Q_OBJECT

public:
    EnvironmentDialog(const Environment& env, QWidget *parent = 0);

	Environment& environment() {
		return m_Env;
	}

public slots:
	/// 
	void setCullMode();
	///
	void setMatAmbient(const QColor& color);

	void setMatDiffuse(const QColor& color);

	void setMatSpecular(const QColor& color);

	void setMatEmission(const QColor& color);
	
	void setMatShiness(const QString& str);

	void setBgColor(const QColor& color);

	void setDefColor(const QColor& color);

	void showLightAttributes();

	void setLightAmbient(const QColor& color);

	void setLightDiffuse(const QColor& color);

	void setLightSpecular(const QColor& color);

	void setLightPosition();

	void turnLightOnOff();

	void addLight();

	void deleteLight();

private:
    Ui_EnvironmentDialog ui;

	/// 
	QButtonGroup *cullGroup;
	/// 
	QErrorMessage *errorMessage;

	/// 
	Environment m_Env;
};
}
#endif

